package com.mall.common.response;

import lombok.Data;

@Data
public class ServerResponse {

    private String code;

    private String msg;

    private Object data;


    public ServerResponse(String code, String msg, Object data) {
        this.code = code;
        this.msg = msg;
        this.data = data;
    }


    /**
     * 返回成功--带编码，参数
     * @param resultEnum 对应返回的编码
     * @param data 返回的数据
     * @return 返回的结果集
     */
    public static ServerResponse buildSuccess(ResponseResultEnum resultEnum, Object data){
        return new ServerResponse(resultEnum.getCode(), resultEnum.getMessage(),data);
    }
    /**
     * 返回成功--数据
     * @param data 返回的数据
     * @return 返回的结果集
     */
    public static ServerResponse buildSuccess(Object data){
        return new ServerResponse(ResponseResultEnum.SUCCESS.getCode(), ResponseResultEnum.SUCCESS.getMessage(),data);
    }
    /**
     * 返回失败--需要对应的错误码
     * @return 返回的结果集
     */
    public static ServerResponse buildError(ResponseResultEnum resultEnum){
        return new ServerResponse(resultEnum.getCode(), resultEnum.getMessage(),null);
    }

    /**
     * 返回失败--不需要要参数
     * @return 返回的结果集
     */
    public static ServerResponse buildError(){
        return new ServerResponse(ResponseResultEnum.ERROR.getCode(), ResponseResultEnum.ERROR.getMessage(),null);
    }
}
